home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / NEW / A-Newest / Quittner.d64 / tpug info-9 < prev   
Text File  |  2009-01-03  |  6KB  |  70 lines

  1. ║CM:TPUG-9
  2. ║PT5:CN1:JU0:PG61
  3. ├╧═╨╒╘┼╥ ├╧══╧─╧╥┼ 64 & ├64 ╔╬╞╧╥═┴╘╔╧╬-9:
  4. ║PT10:CN0:JU1
  5.  
  6.    ╘HE DEFAULT MEMORY LOCATION (BYTE) THAT STARTS ┬┴╙╔├ PROGRAMS IS 2049, BUT THIS CAN BE CHANGED BY CHANGING THE POINTER 43/44 CONTENT. ╙IMILARLY THE POINTER 55/56 CONTAINS THE HIGHEST LOCATION A ┬┴╙╔├ PROGRAM IS PERMITTED TO USE, AND IT OFTEN IS CHANGED BY THE USER TO PROTECT A PROGRAM AND/OR DATA THAT ARE LOCATED AT HIGHER LOCATIONS.
  7.    ╘YPE IN THIS PROGRAM FOR EXAMPLE, CALL IT PROGRAM 1, AND THEN TYPE RUN:
  8. 10?"╬O.1":G╧15
  9. 11?"╬OT TO HERE 11
  10. 15:?"╘HIS IS 15
  11.  
  12.    ╫ITHOUT LINE NUMBERS (IN DIRECT MODE) TYPE IN THIS PROGRAM, CALL IT 101; IT IS USED TO SEE WHERE ┬┴╙╔├ DEPOSITS WHAT. ╫RITE DOWN THE RESULTS, YOU WILL NEED THEM LATER.
  13. F╧I=43TO56:?I;P┼(I):N┼
  14.    ╘O SEE WHERE THE POINTERS POINT TO ENTER THIS PROGRAM, CALL IT PROGRAM 102:
  15. F╧I=43TO55STEP2:?I;I+1;P┼(I)+256*P┼(I+1):N┼
  16.    ╨OINTER 43/44, P┼(43)+256*P┼(44) IS THE START LOCATION (BYTE) OF THE PROGRAM AREA, POINTER 45/46 IS THE START OF THE VARIABLES AREA, POINTER 47/48 IS THE START OF THE ARRAY AREA, POINTER 49/50 IS THE START OF FREE ╥┴═ (╥ANDOM ┴CCESS ═EMORY), POINTER 51/52 POINTS TO THE BOTTOM OF THE AREA SET ASIDE FOR STRING STORAGE, POINTER 53/54 IS A TEMPORARY POINTER FOR STRING LOCATION, AND POINTER 55/56 SHOWS ONE ABOVE THE HIGHEST BYTE THAT ┬┴╙╔├ WILL USE.
  17.  
  18. ═╧╥┼ ╘╚┴╬ ╧╬┼ ┬┴╙╔├ ╨╥╧╟╥┴═╙:
  19.    ╔T IS POSSIBLE TO LOAD MORE THAN ONE ┬┴╙╔├ PROGRAMS WITHIN THE SPACE 2049 TO 40959, BUT BE CAREFUL ABOUT LEAVING ENOUGH SPACE BETWEEN THEM FOR ┬┴╙╔├ TO STORE ALL CONSTANTS, VARIABLES, ARRAYS AND STRINGS WHILE THE PROGRAM IS RUNNING.
  20.    ╔F THESE POINTERS ARE TO BE CHANGED THEN IT MUST BE DONE BEFORE ENTERING THE PROGRAM. ╒NLESS YOU HAVE DONE SO ALREADY AFTER PROGRAM 1 (ABOVE) WAS LOADED, USE PROGRAM 101 TO SEE, AND WRITE DOWN, THE CONTENTS OF BYTES 43 TO 56.
  21.    ╞OR EXAMPLE, IF NOT ALREADY DONE SO, TYPE IN PROGRAM 1 (SEE ABOVE) NORMALLY, WITH DEFAULT POINTERS. ╘HEN CHANGE THE BYTE 44 TO WHEREVER YOU WANT PROGRAM 2 TO START, AND ADD NEW FOR ┬┴╙╔├ TO CHANGE POINTERS. ╞OR THIS EXAMPLE:
  22. P╧44,100:NEW
  23.    ╘YPE IN PROGRAM 102 TO SEE THE NEW POINTERS, THEN TYPE IN THIS PROGRAM 2, FOR EXAMPLE:
  24. 20?"╬O.2":G╧25
  25. 21?"╬OT TO HERE 21
  26. 25:?"╘HIS IS 25
  27.    ╥UN PROGRAM 2 THEN TYPE IN PROGRAM 101 AND WRITE DOWN THE RESULTS FOR LATER USE.
  28.    ╘O GET BACK TO PROGRAM 1 CHANGE NEARLY ALL BYTES 43 TO 56 TO WHERE THEY WERE AFTER RUNNING PROGRAM 1, EXCEPT THAT YOU TYPE 100 (THE START OF PROGRAM 2) INSTEAD OF 160 TO PREVENT PROGRAM 1 INTERFERING WITH PROGRAM 2.
  29.    ╘O GET BACK TO PROGRAM 2, AGAIN CHANGE BYTES 43 TO 56 TO WHERE THEY WERE AFTER RUNNING PROGRAM 2.
  30.  
  31. ├╚┴╬╟╔╬╟ ╠╔╬┼ ╬╒═┬┼╥╙:
  32.    ╚ERE, FOR EXAMPLE, IS A PROGRAM TO BE USED AS ╬O.2, IF THE LINE NUMBERS ARE TO BE CHANGED IN ╬O.1:
  33.    ┴FTER SWITCHING THE COMPUTER OFF AND BACK ON TO START AGAIN FROM THE VERY BEGINNING WITH DEFAULT VALUES, TYPE IN OR LOAD PROGRAM ╬O. 1 NORMALLY, THEN TYPE, FOR THIS EXAMPLE,
  34. P╧44,100:NEW
  35.    ╘YPE IN, OR LOAD, THE RENUMBER PROGRAM, BELOW, AS PROGRAM ╬O.2 AND RUN IT. ┘OU MAY WISH, AS AN EXAMPLE, TO CHANGE THE NEW LINE NUMBERS OF PROGRAM 1 TO START WITH 1000, AND HAVE EQUAL INTERVALS OF 10. ╬OTE THAT PRINTERS DIFFER; THIS WORKS FOR THE PRINTER ╔ USE. ┴T THE END OF THE RENUMBERING A LIST WILL BE SHOWN ON THE SCREEN, AND ALSO PRINTED IF THE PRINTER IS ON, SHOWING NEW AND OLD LINE NUMBERS. ╘HIS IS IMPORTANT BECAUSE ALL JUMPS, IF ANY, MUST BE CHANGED MANUALLY TO NEW DESTINATION LINE NUMBERS. ┴S A HELP IN THIS REGARD ╔ USUALLY PUT A COLON IMMEDIATELY AFTER THE LINE NUMBER IN EACH DESTINATION LINE; OFTEN OTHER ITEMS MUST BE CHANGED TOO.
  36. 43000 REM "RENUMBER BY ╩OE ╤UITTNER
  37. 43002 CLOSE 5:CLOSE 7:OPEN 5,4,5:OPEN 7,4,7:REM FOR MY PRINTER
  38. 43004 ?C╚(14)C╚(144):REM LOWER CASE, BLACK TEXT
  39. 43010 F╧I=1TO10
  40. 43011 P╥5,C╚(27)C╚(108)C╚(7):REM MY PRINTER'S LEFT MARGIN=7
  41. 43012 P╥5,C╚(27)C╚(81)C╚(77): NEXT:REM RIGHT MARGIN=77
  42. 43014 DIM C(1000,1):REM NO MORE THAN 1000 LINE NUMBERS
  43. 43016 DEF FNA(I)=I-256*FNB(I):DEF FNB(I)=INT(I/256)
  44. 43018 DEF FNC(I)=PEEK(I)+256*PEEK(I+1)
  45. 43020 S=2049:REM THIS IS THE STARTING BYTE OF PROGRAM 1
  46. 43022 INPUT" ╬EW NUMBER START, INTERVAL";NN,D:NN=NN-D:N=0:REM 1000,10?
  47. 43030 :NE=FNC(S):IF NE=0THEN43040:REM NEXT LINE'S STARTING BYTE
  48. 43032 LN=FNC(S+2):N=N+1:C(N,0)=LN:REM OLD LINE NUMBER INTO ARRAY
  49. 43034 NN=NN+D:P╧S+2,FNA(NN):P╧S+3,FNB(NN) :C(N,1)=NN:REM NEW NUMBER
  50. 43036 S=NE:GOTO43030:REM DO THE NEXT LINE
  51. 43040 :FOR I=1 TO N:PRINT C(I,1)"WAS"C(I,0):REM TABLE NEW-OLD
  52. 43041 P╥7,C(I,1)"WAS"C(I,0)"  ";:NEXT:P╥7
  53. 43049 END
  54.    ╔F A PROGRAM DOES NOT START AT 2049, AND SHOULD NOT START AT 2049 WHEN LOADED, THEN SAVE IT AND LOAD IT WITH 8,1 INSTEAD OF JUST 8
  55. SAVE"PROGRAM NAME",8,1 OR SAVE"@0:PROGRAM NAME",8,1
  56. LOAD"PROGRAM NAME",8,1
  57.  
  58. ┴╨╨┼╬─╔╬╟ ┴ 2╬─ ╨╥╧╟╥┴═:
  59.    ├HECK CAREFULLY FIRST THAT THERE ARE NO DUPLICATIONS. ╧FTEN THE EASIEST WAY IS TO SIMPLY EXTEND PROGRAM 1 BY TYPING PROGRAM 2 INTO THE END OF PROGRAM 1 SO AS TO GET A COMBINED PROGRAM. ╘HEN RUN EITHER FROM THE BEGINNING OF PROGRAM 1, OR FROM WHEREVER PROGRAM 2 STARTS.                  ┬E CAREFUL TO SAVE EVERYTHING BEFORE RUNNING, IN CASE THE COMPUTER WILL STOP DOING ANYTHING, AND SWITCHING OFF IS THE ONLY WAY TO RESET IT TO NORMAL, LOSING EVERYTHING THAT HAS NOT BEEN SAVED ON DISK OR TAPE.
  60.    ╔F TYPING PROGRAM 2 INTO THE END OF PROGRAM 1 IS NOT AN OPTION, THEN:
  61.    ╘YPE IN THE 1ST PROGRAM NORMALLY WITH DEFAULT POINTERS. ╘HEN TYPE
  62.    A=P┼(45)+256*P┼(46)-2:?A
  63. ╘HIS WILL GIVE YOU THE START BYTE FOR THE RELOCATED NO.2 PROGRAM. ╘HEN
  64.    P╧44,INT(A/256): P╧43,A-256*P┼(44):CLR:SYS42291
  65.    ╬OW TYPE OR LOAD NO.2. ╞INALLY, TO START AT 2049 AND FOR ┬┴╙╔├ TO LINK LINES, TYPE
  66.    P╧43,1:P╧44,8:CLR:SYS42291
  67.    ╠IST FIRST BEFORE CHECKING OR RUNNING TO SEE WHAT YOU'VE GOT, IN CASE THAT YOU MAY HAVE TO START ALL OVER AGAIN, TO CHANGE JUMPS, ETC.
  68. ║JU0:PT20:CN1
  69.    ┬Y ╩OE ╤UITTNER, ╘╨╒╟, ╞EBRUARY 21, 2008
  70.